[2026-01-22] Enhancing DDoS Attack Detection and Mitigation in SDN Using an Ensemble Online Machine Learning Model

๐Ÿฆฅ ๋ณธ๋ฌธ

Motivation

๊ธฐ์กด์˜ offline-batch learning ๋ฐฉ์‹์˜ ํ•œ๊ณ„

  1. ์ •์  ํ•™์Šต : ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ๋กœ๋งŒ ํ•™์Šต๋˜์–ด ์žˆ์–ด, Zero-day ๊ณต๊ฒฉ์ด๋‚˜ Low-DDoS ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๊ธฐ ์–ด๋ ค์›€
  2. Concept Drift ๋ฐœ์ƒ : ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์˜ ํ†ต๊ณ„์  ํŠน์„ฑ์ด๋‚˜ ๊ณต๊ฒฉ ํŒจํ„ด์ด ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•˜์—ฌ ํƒ์ง€ ์„ฑ๋Šฅ ์ €ํ•˜

Challenge

  1. ์‹ค์‹œ๊ฐ„ ์ ์‘์„ฑ : ๋™์ ์ธ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ๊ณผ ์ง„ํ™”ํ•˜๋Š” ๊ณต๊ฒฉ์— ์ ์‘๋ ฅ์ด ํ•„์š”
  2. ํƒ์ง€ ์„ฑ๋Šฅ ์œ ์ง€ : ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ ์‘ํ•˜๋ฉด์„œ๋„ ๋†’์€ ์„ฑ๋Šฅ์„ ์œ ์ง€
  3. ๋ฆฌ์†Œ์Šค ์ œ์•ฝ ๋‚ด์˜ ์ตœ์ ํ™” : ์ œํ•œ๋œ ํ•˜๋“œ์›จ์–ด ์ž์› ๋‚ด์—์„œ ์‹ค์‹œ๊ฐ„ ์ ์‘๊ณผ ํƒ์ง€/์™„ํ™”๋ฅผ ์ˆ˜ํ–‰

Background

Online machine learning

์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์œผ๋กœ๋ถ€ํ„ฐ์˜ ์ ์‘์„ฑ๊ณผ ์ง€์†์ ์ธ ํ•™์Šต. ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๋ชจ์•„์„œ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ์ ์ง„์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ

  • vs Batch Learning

    image.png

    • Batch Learning : ์ „์ฒด ๋ฐ์ดํ„ฐ ์ฝ”ํผ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์ด ์ถ”๊ฐ€์ ์ธ ํ•™์Šต ์—†์ด ๋ฐฐํฌ๊ฐ€ ๋จ. ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ •์ ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€. ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ์ฝ์œผ๋ฏ€๋กœ ๋งŽ์€ ์ž์›์„ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ์‚ฌ์šฉ
    • OML : ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋‚˜ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฏธ๋‹ˆ ๋ฐฐ์น˜ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋ธ ๊ฐ€์ค‘์น˜์— ๋ฐ˜์˜

Ensemble ML

๋‹จ์ผ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์—ฌ๋Ÿฌ ๊ธฐ์ € ํ•™์Šต๊ธฐ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ, ๊ฐœ๋ณ„ ๋ชจ๋ธ์ด ๊ฐ€์ง„ ์•ฝ์ ์„ ์ƒํ˜ธ ๋ณด์™„ํ•˜๊ณ  ๋‹ค์–‘ํ•˜๊ณ  ์ง„ํ™”ํ•˜๋Š” DDoS ๊ณต๊ฒฉ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํƒ์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณต

ARCHITECTURAL DESIGN

image.png

  1. ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ง‘๊ธฐ ๋ชจ๋“ˆ: SDN ํ™˜๊ฒฝ์—์„œ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ์บก์ฒ˜ํ•˜๊ณ  ๊ธฐ๋ก
  2. OML ๊ธฐ๋ฐ˜ IDS: ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์œ ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„๋ฅ˜ํ•˜๊ณ , ์ž ์žฌ์ ์ธ DDoS ๊ณต๊ฒฉ์„ ์‹๋ณ„
  3. OML ๊ธฐ๋ฐ˜ IPS : IDS๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‹๋ณ„๋œ ์œ„ํ˜‘์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์น˜

๋™์ž‘ ํ๋ฆ„

  1. ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ง‘ : SDN ์ปจํŠธ๋กค๋Ÿฌ์— ์—ฐ๊ฒฐ๋œ ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์—์ง€ ์Šค์œ„์น˜๋กœ๋ถ€ํ„ฐ ํŠธ๋ž˜ํ”ฝ ๋ณต์‚ฌ. OpenFlow ์Šค์œ„์น˜์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์— ์ฃผ๊ธฐ์ ์œผ๋กœ ํ”Œ๋กœ์šฐ ์—”ํŠธ๋ฆฌ๋ฅผ ์š”์ฒญ
  2. ๋ณด์•ˆ ์ฑ„๋„์„ ํ†ตํ•œ ์ „์†ก : ์š”์ฒญ๊ณผ ์‘๋‹ต์€ ๋ณด์•ˆ์ด ์œ ์ง€๋˜๋Š” ๊ฒฉ๋ฆฌ๋œ ์ฑ„๋„์„ ํ†ตํ•ด ์ „์†ก๋˜์–ด ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ์— ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€
  3. ๋ถ„๋ฅ˜ : ํ•™์Šต๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒ˜๋ฆฌ๋œ ์ž…๋ ฅ ํŠธ๋ž˜ํ”ฝ์„ ์˜์‹ฌ์Šค๋Ÿฝ๊ฑฐ๋‚˜ ์ •์ƒ์ ์ธ ๊ฒƒ์œผ๋กœ ๋ถ„๋ฅ˜
  4. ์™„ํ™” ๋ช…๋ น ์ „๋‹ฌ : IDS์˜ ๊ฒฐ์ •์€ ์ฆ‰์‹œ ์™„ํ™” ๋ชจ๋“ˆ๋กœ ์ „๋‹ฌ. IPS ์ „๋žต์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ๊ฒฐ์ •.
  5. ๊ทœ์น™ ์ ์šฉ : ๊ฒฐ์ •๋œ ์กฐ์น˜๋ฅผ ํ”Œ๋กœ์šฐ ๊ทœ์น™์œผ๋กœ ๋ณ€ํ™˜. ์Šค์œ„์น˜์— ๊ตฌํ˜„.

๋ชจ๋“ˆํ˜• ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ์ตœ์ ํ™” ๊ฐ€๋Šฅ. ํŠน์ • ์ปจํŠธ๋กค๋Ÿฌ์— ์˜์กดํ•˜์ง€ ์•Š์Œ

Traffic collector

ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ง‘๊ธฐ ๋ชจ๋“ˆ์€ ์ปจํŠธ๋กค๋Ÿฌ ๋‚ด์—์„œ ์ž‘๋™. ํ”Œ๋กœ์šฐ ํŠธ๋ž˜ํ”ฝ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋ฏธ๋Ÿฌ๋ง. ํ”Œ๋กœ์šฐ ํ†ต๊ณ„์— ๋Œ€ํ•œ ์ฃผ๊ธฐ์ ์ธ ์š”์ฒญ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    1. ์ดˆ๊ธฐํ™”
    2. AddFlow
      1. ์šฐ์„ ์ˆœ์œ„(priority), ๋งค์น˜(match), ์•ก์…˜(actions) ์„ค์ •
      2. flow_id ์ƒ์„ฑ
      3. ๋งค์น˜ ๋ฐ ์•ก์…˜ ํŒŒ์‹ฑ
      4. flows ๋”•์…”๋„ˆ๋ฆฌ์— ํ”Œ๋กœ์šฐ ์ถ”๊ฐ€
      5. flow_id๋ฅผ ํฌํ•จํ•œ ํŒจํ‚ท ์•„์›ƒ(packet out) ๋ฉ”์‹œ์ง€ ์ „์†ก
    3. GetFlows:
      1. flows ๋”•์…”๋„ˆ๋ฆฌ ๋ฐ˜ํ™˜
    4. UpdateFlowExpiration
      1. flow_expiration_timeout์ด ์กด์žฌํ•˜๋ฉด, ์ƒˆ๋กœ์šด flow_expiration_timeout์„ ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ 30์ดˆ ํ›„๋กœ ์„ค์ •
      2. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด, flow_expiration_timeout์„ ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •
    5. CollectFlows
      1. flow_expiration_timeout์ด ์กด์žฌํ•˜๊ณ  ํ˜„์žฌ ์‹œ๊ฐ„์ด flow_expiration_timeout๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด
        1. flows ๋”•์…”๋„ˆ๋ฆฌ์˜ ๊ฐ ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•ด:
        2. ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ํ”Œ๋กœ์šฐ์˜ [โ€˜expiration_timeโ€™] ์ฐจ์ด๊ฐ€ 30์ดˆ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด: flows ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ํ•ด๋‹น ํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ฑฐ
      2. ํ”Œ๋กœ์šฐ ๋งŒ๋ฃŒ ํƒ€์ž„์•„์›ƒ ์—…๋ฐ์ดํŠธ
    6. ์—ฐ๊ฒฐ(connection) ๋ฐ table_id ์ธ์ž ์„ค์ •
    7. FlowCollector ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
    8. ์šฐ์„ ์ˆœ์œ„, ๋งค์น˜, ์•ก์…˜์„ ํฌํ•จํ•œ ํ”Œ๋กœ์šฐ ์—”ํŠธ๋ฆฌ ์ถ”๊ฐ€
    9. 30์ดˆ๋งˆ๋‹ค ํ”Œ๋กœ์šฐ ์ˆ˜์ง‘

์ปจํŠธ๋กค๋Ÿฌ ๋™์ž‘ ์ˆœ์„œ

  1. ๊ฐ ์Šค์œ„์น˜์— ๋Œ€ํ•œ ๊ณ ์œ  ID๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  OpenFlow ์Šค์œ„์น˜๋ฅผ ์ธ์ฆ
  2. OpenFlow ์Šค์œ„์น˜์— ํŒจํ‚ท์ด ๋„์ฐฉํ•  ๋•Œ, ํŒจํ‚ท ํ—ค๋”๋ฅผ ์Šค์œ„์น˜์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ํ”Œ๋กœ์šฐ ์—”ํŠธ๋ฆฌ์™€ ๋Œ€์กฐ.
    1. ์ผ์น˜ํ•˜๋ฉด ๋ฐ”์ดํŠธ ์ˆ˜์™€ ํŒจํ‚ท ์ˆ˜ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์—”ํŠธ๋ฆฌ์˜ ํ†ต๊ณ„๊ฐ€ ์—…๋ฐ์ดํŠธ
    2. ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ํŒจํ‚ท์€ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌ.
      1. ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ •์˜๋œ ์ •์ฑ…์„ ์ง‘ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์Šค์œ„์น˜์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ํ”Œ๋กœ์šฐ ์—”ํŠธ๋ฆฌ๋ฅผ ์ถ”๊ฐ€. ํŠน์ • OpenFlow ์Šค์œ„์น˜์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ ์ƒ์„ฑ๋œ ํŠธ๋ž˜ํ”ฝ์ด ์Šค์œ„์น˜์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์„ ์ฑ„์›€

OML-based IDS

์˜ˆ์ธก๋ ฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ํƒ์ง€ ๋ชจ๋ธ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค์–‘ํ•˜๊ฒŒ ์„ ํƒ. ์‹ค์‹œ๊ฐ„ ์ ์‘์„ฑ์„ ์œ„ํ•ด ๋‚ฎ์€ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ€์ง„ ๋ถ„๋ฅ˜๊ธฐ๋“ค์„ ์‚ฌ์šฉํ•จ.

  1. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ „์ฒ˜๋ฆฌ : ์ „์ฒ˜๋ฆฌ ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์œผ๋กœ์˜ ์ €์žฅ.
  2. ํŠน์ง• ์„ ํƒ ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง : ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ํŠน์„ฑ์— ๋”ฐ๋ผ ํŠน์ง• ์„ธํŠธ๋ฅผ ์ง€์†์ ์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๋™์  ํŠน์ง• ์„ ํƒ ๋ฉ”์ปค๋‹ˆ์ฆ˜. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ด€๋ จ ํŠน์ง•์„ ์„ ํƒํ•จ์œผ๋กœ์จ ๋ชจ๋ธ์€ ๊ณ„์‚ฐ ๋ณต์žก์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํƒ์ง€ ํšจ๋Šฅ์„ ์ตœ์ ํ™”
  3. ๋ชจ๋ธ ์ดˆ๊ธฐํ™”: ์˜จ๋ผ์ธ ๋‹จ๊ณ„์—์„œ ์‹ค์‹œ๊ฐ„ ์˜ˆ์ธก์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์˜คํ”„๋ผ์ธ ๋‹จ๊ณ„ ๋™์•ˆ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ์ดˆ๊ธฐํ™” ๋ฐ ๊ธฐ์ € ํ•™์Šต๊ธฐ ํ•™์Šต.
  4. ์•™์ƒ๋ธ” ํ•™์Šต: ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฐฉํ•˜๋Š” ๋Œ€๋กœ ์˜ˆ์ธก์„ ์‹œ์ž‘. ์˜ˆ์ธก์„ ๊ฐ€์ค‘์น˜ ์กฐํ•ฉ์„ ํ†ตํ•ด ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ข… ์˜ˆ์ธก์„ ๋„์ถœ
  5. ๊ณต๊ฒฉ ํƒ์ง€ : ์•™์ƒ๋ธ” ๋ชจ๋ธ์ด ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ˆ์ธก. ์˜์‹ฌ์Šค๋Ÿฌ์šด ๋ฐ์ดํ„ฐ๋Š” flagging.
  6. ๋ชจ๋ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์—…๋ฐ์ดํŠธ : ๋“œ๋ฆฌํ”„ํŠธ ํƒ์ง€ ๊ธฐ์ˆ ๋กœ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋ง. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ž…๋จ์— ๋”ฐ๋ผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ

OML-BASED IPS

๊ธฐ๋Šฅ

  1. ์ ์ ˆํ•œ ๋Œ€์‘์ฑ… ์ง‘ํ–‰: ์ž ์žฌ์  ์œ„ํ˜‘์ด ์‹๋ณ„๋˜๋ฉด IPS๋Š” ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ์ด๋‚˜ ์ง€์ •๋œ ์‹ฑํฌํ™€(sinkhole) ์šฐํšŒ์™€ ๊ฐ™์€ ์ ์ ˆํ•œ ๋Œ€์‘
  2. ์ง€์†์ ์ธ ํ•™์Šต ๋ฐ ์ ์‘: IPS๋Š” ์ง€์†์ ์œผ๋กœ ์ง„ํ™”ํ•˜๋ฉฐ ๋ณ€ํ™”ํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด๊ณผ ์ƒˆ๋กœ ๋“ฑ์žฅํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ์ˆ ์— ๋งž์ถฐ ์กฐ์ •.

ํ”„๋ ˆ์ž„ ์›Œํฌ

  1. ํŠธ๋ž˜ํ”ฝ ํ”„๋กœํŒŒ์ผ๋ง: ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์„ํ•˜๊ณ  ํ”„๋กœํŒŒ์ผ๋งํ•˜์—ฌ ๊ณต๊ฒฉ์˜ ์ง•ํ›„๋‚˜ ๋น„์ •์ƒ์ ์ธ ํŒจํ„ด์„ ์ •ํ™•ํžˆ ์ฐพ์Œ
  2. ์กฐ์น˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์„ค๊ณ„: ์œ„ํ˜‘ ํƒ์ง€ ์‹œ ์ฑ„ํƒํ•  ์ ์ ˆํ•œ ์กฐ์น˜์™€ ๋Œ€์‘์ฑ…์„ ์„ค๊ณ„
  3. ์กฐ์น˜ ๊ตฌํ˜„: IPS๋Š” ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ์ด๋‚˜ ๋ฆฌ๋””๋ ‰์…˜๊ณผ ๊ฐ™์€ ์ง€์ •๋œ ์กฐ์น˜๋ฅผ ์‹คํ–‰
  4. ๋ชจ๋ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์—…๋ฐ์ดํŠธ: ์„ฑ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์—…๋ฐ์ดํŠธ

Evaluation

  • Setup : ์ž์ฒด ์ƒ์„ฑ ๋ฐ์ดํ„ฐ์…‹๊ณผ ๊ธฐ์กด์˜ ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ชจ๋ธ ํ‰๊ฐ€
    • LDDoS/DDoS ๊ณต๊ฒฉ์„ ํฌํ•จํ•˜์—ฌ ์ž์ฒด ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ์…‹์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํ‰๊ฐ€.
    • Mininet ๋ฐ Ryu SDN ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iperf, Hping3, Scapy์™€ ๊ฐ™์€ ๋„๊ตฌ๋กœ DDoS ๊ณต๊ฒฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜.
    • CICIDS2019, InSDN, slow-read-DDoS-attack-in-SDN๊ณผ ๊ฐ™์€ ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ชจ๋ธ์„ ํ‰๊ฐ€
    • Environment

      image.png

    • network topology

      image.png

  • Dataset : ์ง€์† ์‹œ๊ฐ„, IP ํ”„๋กœํ† ์ฝœ, ๋ฐ”์ดํŠธ ์ˆ˜, ํŒจํ‚ท ์ˆ˜, SYN ํ”Œ๋ž˜๊ทธ ์นด์šดํŠธ ๋“ฑ์„ ํฌํ•จํ•œ 22๊ฐœ์˜ feature ์ค‘ Chi2 ํŠน์ง• ์„ ํƒ์„ ํ†ตํ•ด 14๊ฐœ๋กœ ์ถ•์†Œ

    image.png

    • ์ข…๋ฅ˜
      1. ํŒจํ‚ท ๊ธฐ๋ฐ˜ ์†์„ฑ: ์ˆœ๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋‘์˜ ์ด ํŒจํ‚ท ์ˆ˜์™€ ๊ฐ™์€ ํŒจํ‚ท์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด
      2. ๋„คํŠธ์›Œํฌ ์‹๋ณ„์ž ์†์„ฑ: IP ์ฃผ์†Œ, ํฌํŠธ ๋ฒˆํ˜ธ, ํ”„๋กœํ† ์ฝœ ์œ ํ˜• ๋“ฑ ์†Œ์Šค ๋ฐ ๋ชฉ์ ์ง€ ํ”Œ๋กœ์šฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ณตํ†ต ์ •๋ณด
      3. ์„œ๋ธŒ ํ”Œ๋กœ์šฐ ๊ธฐ์ˆ ์ž ์†์„ฑ: ์ˆœ๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋‘์—์„œ์˜ ํŒจํ‚ท ๋ฐ ๋ฐ”์ดํŠธ ์ˆ˜์™€ ๊ฐ™์ด ์„œ๋ธŒ ํ”Œ๋กœ์šฐ์™€ ๊ด€๋ จ๋œ ์ •๋ณด
      4. ๋„์ฐฉ ๊ฐ„ ์‹œ๊ฐ„ ์†์„ฑ: ์ˆœ๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋‘์—์„œ์˜ ํŒจํ‚ท ๋„์ฐฉ ๊ฐ„ ์‹œ๊ฐ„์— ๊ด€ํ•œ ์ •๋ณด
      5. ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜ ์†์„ฑ: ๋ฐ”์ดํŠธ ํŠน์ • ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ๊ฒƒ์œผ๋กœ, ์ˆœ๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋‘์—์„œ ์ „์†ก๋œ ์ด ๋ฐ”์ดํŠธ ์ˆ˜
      6. ํ”Œ๋กœ์šฐ ํƒ€์ด๋จธ ์†์„ฑ: ํ™œ์„ฑ ๋ฐ ๋น„ํ™œ์„ฑ ๊ธฐ๊ฐ„์„ ํฌํ•จํ•˜์—ฌ ๊ฐ ํ”Œ๋กœ์šฐ์˜ ์ง€์† ์‹œ๊ฐ„์— ๊ด€ํ•œ ์ •๋ณด
      7. ํ”Œ๋กœ์šฐ ๊ธฐ์ˆ ์ž ์†์„ฑ: ์ˆœ๋ฐฉํ–ฅ ๋ฐ ์—ญ๋ฐฉํ–ฅ ๋ชจ๋‘์—์„œ์˜ ํŒจํ‚ท ๋ฐ ๋ฐ”์ดํŠธ ์ˆ˜์™€ ๊ฐ™์€ ํŠธ๋ž˜ํ”ฝ ํ”Œ๋กœ์šฐ ์„ธ๋ถ€ ์ •๋ณด
      8. ํ”Œ๋ž˜๊ทธ ์†์„ฑ: SYN ํ”Œ๋ž˜๊ทธ, RST ํ”Œ๋ž˜๊ทธ, Push ํ”Œ๋ž˜๊ทธ ๋“ฑ๊ณผ ๊ฐ™์€ ํ”Œ๋ž˜๊ทธ ๊ด€๋ จ ์ •๋ณด

    image.png

    Chi2 ํŠน์ง• ์„ ํƒ์„ ํ†ตํ•ด ๊ฐ€์žฅ ๋†’์€ ํŠน์ง•๋งŒ์„ ์„ ํƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ฐจ์›์„ 14๊ฐœ๋กœ ์ถ•์†Œ

  • Result
    • ์ž์ฒด ๋ฐ์ดํ„ฐ์…‹

      Accuracy Precision Recall F1 Score ์˜คํƒ์œจ
      0.9926 0.9910 0.9962 0.981 0.025
    • ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹

      image.png

    • ์‘๋‹ต ์‹œ๊ฐ„

      image.png

Contribution & Discussion

  1. SDN ํ™˜๊ฒฝ์—์„œ ์ œ๋กœ ๋ฐ์ด, ๊ณ ์† ๋ฐ ์ €์† ๊ณต๊ฒฉ์„ ํฌํ•จํ•˜์—ฌ ์ง„ํ™”ํ•˜๋Š” DDoS ๊ณต๊ฒฉ์„ ํƒ์ง€/์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์•™์ƒ๋ธ” ์˜จ๋ผ์ธ ML ๋ชจ๋ธ
  2. ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ์—ญ๋™์ ์ธ DDoS ์ง€ํ˜•์—์„œ ๋ชจ๋ธ์˜ ์ ์‘์„ฑ๊ณผ ํšŒ๋ณต๋ ฅ์„ ํ–ฅ์ƒ

โ†’ ์‹ค์ ์šฉ ์‹œ northbound ํ†ต์‹ ์— ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฌธ์ œ

Categories:

Updated:

Leave a comment